In computer systems, the way in which data is represented to a user is of great importance in many circumstances. Through graphical user interfaces (GUI's), visual representations of data can improve a persons understanding of relationships and characteristics which exist intrinsically within the data. For example, data having fields that have one to one relationships with other fields can be effectively represented using a spreadsheet, with certain fields displayed in a left hand column, and other fields displayed across a top row. Data that is hierarchically related is not well suited for representation within a spreadsheet. Rather, a graphical tree-like structure may be used to represent hierarchical data. The tree depicts a top or parent node for the highest level of data, and has child nodes extending or depending from the parent node. Child nodes represent lower levels in the hierarchy and each successively lower level in the tree is populated with data from successively lower levels in the hierarchy. The overall tree can be displayed in a vertical or horizontal manner with nodes extending outward or downward at each successively lower level, beginning at the top level with the parent node.
There are many sources of hierarchically organized data, and certain systems are better represented hierarchically than others. Computer networks and individual computer systems generate data which can be effectively represented in a hierarchical manner.
In the case of a single computer system or data communications device, data stored in a directory on a disk is often hierarchically arranged using folders and sub-directories. Each directory of files and folders represents a separate level in the hierarchy. The hierarchical directory structure of a computer disk provides a convenient way to organize data and files based on characteristics such as file types or on the purpose for which the files and/or data is used.
Computer networks, on the other hand, typically comprise a combination of computer systems interconnected with a number of network communications devices such as modems, hubs, routers, bridges, switches and so forth. The way in which information is transferred over the computer network is based upon which data communications protocols are in operation and upon how each device is configured or managed. Typically the devices and computers on a single network are owned and managed by an individual entity or enterprise. By way of example, universities or companies typically own, operate, manage and control a network of computers and data communication devices which form a campus or corporate-wide data communications network. Such networks may be interconnected with other networks, such as those from government agencies, or other entities, to form a worldwide system of interconnected networks, such as the Internet.
An entire computer network can be broken down logically into various hierarchical levels. For instance, a high speed fiber optic link controlled by high speed routers can form the first level in a hierarchy. This top level network may interconnect many smaller regional networks associated with specific buildings, cities, or geographical areas, each of which represents a second level in the network hierarchy. Each regional network may interconnect specific purpose departmental networks representing a third level in the network hierarchy. Each departmental network may include many individual subnetworks of computers, terminals, printers, file and web servers, and so forth to form the fourth level of the hierarchy, and so forth. Each computer and data communications device may then be considered on an individual basis as the fifth level in the hierarchy and may include various internal devices or peripherals which form a sixth hierarchical level.
Due to the large amounts of hierarchical data maintained in individual computer systems and computer networks, these systems must be effectively managed or users will quickly begin to lose productivity. Computer systems management refers to the organization, storage and control of data within one or more computing devices. Computer network management refers to the ability to control the operation of computers and associated data communications devices on a network to provide efficient routing of data and network operation. Software applications have been developed for these hierarchical management tasks.
A typical computer systems management software application presents a graphical user interface to the user which displays information about the computer system. A widely known prior art computer management application called “File Manager”, produced by Microsoft Corporation of Redmond Wash., can display hierarchical disk directory structure information in a horizontal tree-like manner. File manager is usually used for simple computer systems management tasks such as organizing files and directories. File Manager examines the file structure on a disk and displays directories and files which are at the same level in the hierarchy as small folder and file icons arranged in columns associated with that level. If files and/or sub-folders exist within other folders, File Manager displays file and sub-folder icons underneath and indented to the right of the parent folder icon in which those files and sub-folders exist. The icons are displayed as a tree using interconnected lines which form a path back to the uppermost folder in the directory. The indentation and positioning of file and folder icons provides a visualization of the hierarchical nature of the file system structure for the portion which is graphically displayed.
In the case of computers networks, network management software applications are used to display and control the data communication devices that form the network. Network management software executes on a management workstation coupled to the network and allows a network administrator to remotely control the operation of the network devices. Remote operation and management of devices is provided by standardized protocols such as the Simple Network Management Protocol (SNMP) and the Remote Monitoring (RMON) protocol. SNMP, for example, provides device agents which execute on each remotely located network device under management control. The device agents communicate with the network management software application. Each SNMP device agent can collect data related to the operation of the device and can report problems back to the management application. The management application can control each device, via instructions sent to the device agent. For instance, if a router in a network is experiencing congestion due to high data traffic, the agent in that router may be instructed by the network manager, using the network management application, to re-route certain data to an underutilized segment of the network. SNMP data is stored in a Management Information Base, or MIB, which can be hierarchically arranged.
Current network management applications present the structure of the managed network in a graphical tree-like manner, much like the computer system management applications (i.e., File Manager) discussed above. Essentially, the management software displays a graphical representation of the physical network as long lines with devices located at various locations. The image of a large computer network can grow to become quite lengthy, having hundreds, or even thousands of devices extending therefrom. The network manager can graphically navigate around the network by scrolling the image of the network left or right on the display using, for example, a mouse pointer to select left/right and up/down scroll bars. When an icon is displayed representing a network device of interest, the network manager can select this device. Device selection causes data associated with that device to be displayed. The data is typically device statistic data obtained from the SNMP MIB for that device.